/**
 * XyJ擾̃Rf[^쐬
 */
function CreateSpellDataArea(){
	let players = [ "Sunny", "Luna", "Star" ];
	let difficults = [ "Easy", "Normal", "Panic" ];
	let idxs = [  "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9", "10", 
	             "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
	             "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", 
	             "31", "32", "33", "34", "35", "36", "37", "38", "39", "40" ];
	
	//f[^쐬
	ascent( i in 0..length( players ) ){
		ascent( j in 0..length( difficults ) ){
			ascent( k in 0..length( idxs ) ){
				let ns = players[ i ] ~ "Spell" ~ difficults[ j ] ~ idxs[ k ];
				SetCommonDataEx( "OFT_Save", ns ~ "_C", 0 );
				SetCommonDataEx( "OFT_Save", ns ~ "_P", 0 );
			}
		}
	}
}

/**
 * XyJ擾̐eqlǉ
 * 
 * @param {String} player    vC[
 * @param {String} difficult Փx
 * @param {String} idx       CfbNX
 * @param {String} pc        eq̂ǂJEg邩
 */
function SetSpellData( player, difficult, idx, pc ){
	let ns = player ~ "Spell" ~ difficult ~ idx;
	if( pc == "Parent" ){
		ns = ns ~ "_P";
	}else{
		ns = ns ~ "_C";
	}
	
	let num = GetCommonDataDefaultEx( "OFT_Save", ns, 0 );
	num += 1;
	SetCommonDataEx( "OFT_Save", ns, num );
	
	if( pc == "Child" ){
		let ns_get = "GetSpellNum";
		num = GetCommonDataDefaultEx( "OFT", ns_get, 0 );
		num += 1;
		SetCommonDataEx( "OFT_Save", ns_get, num );
	}
}

/**
 * XyJ擾̐eql擾
 * 
 * @param {String} player    vC[
 * @param {String} difficult Փx
 * @param {String} idx       CfbNX
 */
function GetSpellData( player, difficult, idx ){
	let ns = player ~ "Spell" ~ difficult ~ idx;
	let cnum = GetCommonDataDefaultEx( "OFT_Save", ns ~ "_C", 0 );
	let pnum = GetCommonDataDefaultEx( "OFT_Save", ns ~ "_P", 0 );
	
	return [ cnum, pnum ];
}

/**
 * XyJ擾
 * 
 * @param {String} player    vC[
 * @param {String} difficult Փx
 * @param {String} idx       CfbNX
 */
function GetSpellName( player, difficult, idx ){
	let name = "";
	
	alternative( idx )
		//1-M1 S1
		case( "1" ){
			alternative( difficult )
				case( "Easy" ){
					name = "tuXvOEEChv";
				}
				case( "Normal" ){
					name = "tuXvOEXg[v";
				}
				case( "Panic" ){
					name = "tut̗v";
				}
		}
		//1-1 S1
		case( "2" ){
			alternative( difficult )
				case( "Easy" ){
					name = "Gut[OEXv";
				}
				case( "Normal" ){
					name = "Gu萁̋G߁v";
				}
				case( "Panic" ){
					name = "GuԐ̏tv";
				}
		}
		//1-2 S2
		case( "3" ){
			alternative( difficult )
				case( "Easy" ){
					name = "uԈࣁv";
				}
				case( "Normal" ){
					name = "uu[`F[ubTv";
				}
				case( "Panic" ){
					name = "uG^[iEBbVv";
				}
		}
		//1-3 S3
		case( "4" ){
			alternative( difficult )
				case( "Easy" ){
					name = "tuG̏tv";
				}
				case( "Normal" ){
					name = "tut̕v";
				}
				case( "Panic" ){
					name = "tuC'est printempsv";
				}
		}
	
	return name;
}